// e:\mom_report\20251106\report-ui\src\views\bigscreenDesigner\designer\tools\configure\texts\widget-timeline-nuxt.js
/*
 * @Descripttion: Nuxt风格时间线组件配置
 * @Author:
 * @Date:
 * @LastEditors:
 * @LastEditTime:
 */
export const widgetTimeline = {
  code: "widget-timeline",
  type: "text",
  tabName: "文本栏",
  label: "时间线",
  icon: "iconshipin",
  options: {
    // 配置
    setup: [
      {
        type: "el-input-text",
        label: "图层名称",
        name: "layerName",
        required: false,
        placeholder: "",
        value: "时间线",
      },

      [
        {
          name: "时间线样式",
          list: [
            {
              type: "el-select",
              label: "布局方向",
              name: "direction",
              required: false,
              placeholder: "",
              selectOptions: [
                { code: "vertical", name: "垂直" },
                { code: "horizontal", name: "水平" },
              ],
              value: "vertical",
            },
            {
              type: "el-select",
              label: "内容对齐",
              name: "contentAlign",
              required: false,
              placeholder: "",
              selectOptions: [
                { code: "left", name: "左对齐" },
                { code: "center", name: "居中对齐" },
                { code: "right", name: "右对齐" },
              ],
              value: "left",
            },
            {
              type: "el-select",
              label: "时间线类型",
              name: "timelineType",
              required: false,
              placeholder: "",
              selectOptions: [
                { code: "default", name: "默认" },
                { code: "card", name: "卡片" },
                { code: "minimal", name: "简约" },
              ],
              value: "card",
            },
            {
              type: "el-switch",
              label: "自定义背景色",
              name: "useCustomBgColor",
              required: false,
              value: false,
            },
            {
              type: "vue-color",
              label: "内容背景色",
              name: "contentBgColor",
              required: false,
              placeholder: "",
              value: "#ffffff",
              relactiveDom: "useCustomBgColor",
              relactiveDomValue: true,
            },
            {
              type: "vue-color",
              label: "主色调",
              name: "primaryColor",
              required: false,
              placeholder: "",
              value: "#007bff",
            },
            {
              type: "el-input-number",
              label: "圆点大小",
              name: "dotSize",
              required: false,
              placeholder: "",
              value: 12,
            },
            {
              type: "el-switch",
              label: "空心圆点",
              name: "dotIsHollow",
              required: false,
              value: false,
            },
            {
              type: "el-input-number",
              label: "线条宽度",
              name: "lineWidth",
              required: false,
              placeholder: "",
              value: 2,
            },
            {
              type: "el-input-number",
              label: "项间距",
              name: "itemSpacing",
              required: false,
              placeholder: "",
              value: 24,
            },
            {
              type: "el-input-number",
              label: "左边距",
              name: "leftSpacing",
              required: false,
              placeholder: "",
              value: 24,
            },
          ],
        },
        {
          name: "时间样式",
          list: [
            {
              type: "vue-color",
              label: "时间颜色",
              name: "timeColor",
              required: false,
              placeholder: "",
              value: "#6b7280",
            },
            {
              type: "el-input-number",
              label: "时间字号",
              name: "timeFontSize",
              required: false,
              placeholder: "",
              value: "14",
            },
            {
              type: "el-select",
              label: "时间粗细",
              name: "timeFontWeight",
              required: false,
              placeholder: "",
              selectOptions: [
                { code: "normal", name: "正常" },
                { code: "bold", name: "粗体" },
                { code: "500", name: "中等" },
              ],
              value: "normal",
            },
          ],
        },
        {
          name: "标题样式",
          list: [
            {
              type: "vue-color",
              label: "标题颜色",
              name: "titleColor",
              required: false,
              placeholder: "",
              value: "#1f2937",
            },
            {
              type: "el-input-number",
              label: "标题字号",
              name: "titleFontSize",
              required: false,
              placeholder: "",
              value: "16",
            },
            {
              type: "el-select",
              label: "标题粗细",
              name: "titleFontWeight",
              required: false,
              placeholder: "",
              selectOptions: [
                { code: "normal", name: "正常" },
                { code: "bold", name: "粗体" },
                { code: "500", name: "中等" },
              ],
              value: "500",
            },
          ],
        },
        {
          name: "描述样式",
          list: [
            {
              type: "vue-color",
              label: "描述颜色",
              name: "descriptionColor",
              required: false,
              placeholder: "",
              value: "#6b7280",
            },
            {
              type: "el-input-number",
              label: "描述字号",
              name: "descriptionFontSize",
              required: false,
              placeholder: "",
              value: "14",
            },
          ],
        },
        {
          name: "图片样式",
          list: [
            {
              type: "el-switch",
              label: "图片可点击",
              name: "imageClickable",
              required: false,
              value: true,
            },
            {
              type: "el-switch",
              label: "显示缩放提示",
              name: "showImageZoomHint",
              required: false,
              value: true,
              relactiveDom: "imageClickable",
              relactiveDomValue: true,
            },
            {
              type: "el-switch",
              label: "悬停效果",
              name: "imageHoverEffect",
              required: false,
              value: true,
            },
            {
              type: "el-input-number",
              label: "图片最大宽度",
              name: "imageMaxWidth",
              required: false,
              placeholder: "",
              value: 200,
              min: 50,
              max: 500,
            },
            {
              type: "el-input-number",
              label: "图片最大高度",
              name: "imageMaxHeight",
              required: false,
              placeholder: "",
              value: 150,
              min: 50,
              max: 500,
            },
            {
              type: "el-input-number",
              label: "图片圆角",
              name: "imageBorderRadius",
              required: false,
              placeholder: "",
              value: 4,
              min: 0,
              max: 20,
            },
            {
              type: "el-select",
              label: "图片显示方式",
              name: "imageDisplayMode",
              required: false,
              placeholder: "",
              selectOptions: [
                { code: "contain", name: "保持比例" },
                { code: "cover", name: "填充裁剪" },
                { code: "fill", name: "拉伸填充" },
                { code: "none", name: "原图大小" },
                { code: "scale-down", name: "缩小适应" },
              ],
              value: "contain",
            },
          ],
        },
        {
          name: "动画效果",
          list: [
            {
              type: "el-switch",
              label: "启用动画",
              name: "enableAnimation",
              required: false,
              value: true,
            },
            {
              type: "el-input-number",
              label: "动画持续时间(秒)",
              name: "animationDuration",
              required: false,
              placeholder: "",
              value: 0.3,
            },
            {
              type: "el-select",
              label: "动画类型",
              name: "animationType",
              required: false,
              placeholder: "",
              selectOptions: [
                { code: "fade", name: "淡入" },
                { code: "slide", name: "滑动" },
                { code: "scale", name: "缩放" },
              ],
              value: "fade",
            },
          ],
        },
        {
          name: "滚动设置",
          list: [
            {
              type: "el-switch",
              label: "开启自动滚动",
              name: "enableAutoScroll",
              required: false,
              value: true,
            },

            {
              type: "el-input-number",
              label: "循环暂停(毫秒)",
              name: "loopPause",
              required: false,
              placeholder: "",
              value: 0,
              min: 1000,
              max: 10000,
            },
            {
              type: "el-input-number",
              label: "滚动速度(像素/秒)",
              name: "scrollSpeed",
              required: false,
              placeholder: "",
              value: 60,
              min: 50,
              max: 300,
            },
          ],
        },
        {
          name: "交互设置",
          list: [
            {
              type: "el-switch",
              label: "可点击",
              name: "clickable",
              required: false,
              value: true,
            },
            {
              type: "el-switch",
              label: "悬停效果",
              name: "hoverEffect",
              required: false,
              value: true,
            },
            {
              type: "vue-color",
              label: "悬停背景色",
              name: "hoverBgColor",
              required: false,
              placeholder: "",
              value: "#f3f4f6",
            },
          ],
        },
        {
          name: "组件联动",
          list: [
            {
              type: "componentLinkage",
              label: "",
              name: "componentLinkage",
              required: false,
              value: [],
            },
          ],
        },
      ],
    ],
    // 数据
    data: [
      {
        type: "el-radio-group",
        label: "数据类型",
        name: "dataType",
        require: false,
        placeholder: "",
        selectValue: true,
        selectOptions: [
          {
            code: "staticData",
            name: "静态数据",
          },
          {
            code: "dynamicData",
            name: "动态数据",
          },
        ],
        value: "staticData",
      },
      {
        type: "el-input-number",
        label: "刷新时间(毫秒)",
        name: "refreshTime",
        relactiveDom: "dataType",
        relactiveDomValue: "dynamicData",
        value: 600000,
      },
      {
        type: "el-button",
        label: "静态数据",
        name: "staticData",
        required: false,
        placeholder: "",
        relactiveDom: "dataType",
        relactiveDomValue: "staticData",
        value: [
          {
            time: "2024-01-15 09:00",
            title: "项目启动",
            description: "Nuxt UI时间线组件开发项目正式启动",
            type: "primary",
            imageUrl: "https://picsum.photos/400/200?random=2",
          },
          {
            time: "2024-01-20 14:30",
            title: "需求分析",
            description: "完成用户需求调研和功能规划",
            type: "success",
            imageUrl: "https://picsum.photos/400/200?random=2",
          },
          {
            time: "2024-02-01 10:00",
            title: "设计阶段",
            description: "完成UI/UX设计和交互原型",
            type: "info",
            imageUrl: "https://picsum.photos/400/200?random=2",
          },
          {
            time: "2024-02-15 16:00",
            title: "开发实现",
            description: "核心功能开发和组件封装",
            type: "warning",
            imageUrl: "https://picsum.photos/400/200?random=2",
          },
          {
            time: "2024-03-01 11:00",
            title: "测试优化",
            description: "功能测试和性能优化",
            type: "error",
            imageUrl: "https://picsum.photos/400/200?random=2",
          },
        ],
      },
      {
        type: "dycustComponents",
        label: "",
        name: "dynamicData",
        required: false,
        placeholder: "",
        relactiveDom: "dataType",
        relactiveDomValue: "dynamicData",
        chartType: "widget-timeline-nuxt",
        dictKey: "TIMELINE_NUXT_PROPERTIES",
        value: "",
      },
    ],
    // 坐标
    position: [
      {
        type: "el-input-number",
        label: "左边距",
        name: "left",
        required: false,
        placeholder: "",
        value: 0,
      },
      {
        type: "el-input-number",
        label: "上边距",
        name: "top",
        required: false,
        placeholder: "",
        value: 0,
      },
      {
        type: "el-input-number",
        label: "宽度",
        name: "width",
        required: false,
        placeholder: "该容器在1920px大屏中的宽度",
        value: 600,
      },
      {
        type: "el-input-number",
        label: "高度",
        name: "height",
        required: false,
        placeholder: "该容器在1080px大屏中的高度",
        value: 500,
      },
    ],
  },
};
